package com.rabbit.eap.config.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.stereotype.Component;

/**
 * @projectName eap
 * @packageName com.rabbit.eap.config.properties
 * @className EapFilterProperties
 * @author： rabbit
 * @version： 1.0
 * @since： 2020/4/17 22:42
 * <p>Description: EapFilterProperties
 * Filter属性配置
 * </p>

 */
@Data
@Component
@ConfigurationProperties(prefix = "eap.filter")
public class EapFilterProperties {
    /**
     * RequestDetail Filter配置
     */
    @NestedConfigurationProperty
    private FilterConfig request = new FilterConfig();

    /**
     * XSS Filter配置
     */
    @NestedConfigurationProperty
    private FilterConfig xss = new FilterConfig();

    @Data
    public static class FilterConfig {

        /**
         * 是否启用
         */
        private boolean enable;

        /**
         * 过滤的路径
         */
        private String[] urlPatterns;

        /**
         * 排序
         */
        private int order;

        /**
         * 是否支持异步
         */
        private boolean async;

    }
}
